Categorical electronic program guide

ABSTRACT

The invention is a device for generating a display of an electronic program guide on a screen. Invention is comprised of a receiver which includes a tuner for receiving an input stream of television content and electronic program guide data. The receiver separates the electronic program guide data from the input stream. The invention also comprises a memory coupled to the receiver for storing the electronic program guide data that has been separated from the input stream. Additionally, a display means is included for generating a display which combines a set of electronic program guide data. The program guide data includes a plurality of program titles, and a plurality of organizational categories. Each program title belongs to at least one of the organizational categories. The program titles are arranged in the display so that the program titles which belong to the same organizational categories are spatially adjacent and program titles which are not members of the same organizational categories are spatially separated. The organizational categories provide a first-level organization which defines overall content of the display. It also defines a second-level organization which defines the spatial separation of the program titles. The organizational categories are time, channel, topic and actor based, and are used at any organizational level.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication Serial No. 60/126,718, by Craig A. Finseth, Jeffrey A.Brown, and Philip E. Hsiao, filed Mar. 29, 1999, and entitled“CATEGORICAL ELECTRONIC PROGRAM GUIDE,” which application is herebyincorporated by reference herein.

This application is also related to the following co-pending andcommonly assigned patent application, which is incorporated by referenceherein:

Application Ser. No. 09/536,075, entitled “ELECTRONIC TELEVISION PROGRAMGUIDE WITH CALENDAR TOOL,” filed on same date herewith, by Philip E.Hsiao, Jeffrey A. Brown, and Craig A. Finseth.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to the electronic display of televisionprogram guide information on a screen. More specifically, the inventionrelates to a method of organizing and displaying program information insuch a manner as to allow for optimal use of the area available on thetelevision screen.

2. Description of the Related Art

Television programs are distributed to viewers by a variety ofbroadcasting methods. These methods include traditional analog broadcasttelevision, the upcoming digital broadcast television, cable television(both analog and digital), satellite broadcasting (both analog anddigital), as well as other methods. These methods allow channels to bemultiplexed and transmitted over a common transmission medium. Sincetelevision broadcasting systems can have hundreds of channels, theremust be some mechanism for informing the viewer of the content availableon the various channels. Electronic television program guides haveproven to be an effective means for providing this information.

Program guides for television programming are known in the art. A commonmethod for obtaining television programming information is by consultingpaper television programming guides or schedules. This method ofdisseminating information, however, has limitations. A paper guide maybecome obsolete or a schedule may change, rendering the paper copyuseless. Additionally, the paper schedule may easily be lost.

Electronic program guides have been proposed to alleviate some of thelimitations of paper. One example is a cable system that provides acontinuous feed of guide information to a dedicated television channel.The channel displays continuous program listings. The continuous natureof the link allows the guide to be updated and reflect currentscheduling information. An alternate method of providing guide contentis to send it, along with program content, through satellitetransmissions to receiving stations.

Previous program guides have been burdened with limitations. Priortelevision electronic program guides are based around the use of ascheduling grid. This grid typically involves one axis which correspondsto time and another axis which corresponds to transmission channels. Atthe intersection of each channel and time slot is a “cell” whichtypically displays the title of the program that is being shown on thatchannel at that time. The problem with this grid-type display format isthat when the amount of channels available to the user is more than 15to 20, it becomes necessary for the viewer to scroll further through thelistings, bringing up screen after screen of possible programs andchannels. Additionally, if the viewer wishes to look ahead in theschedule the viewer must scroll again to another section of the grid inorder to get a complete viewing of programs being broadcast later in theday, week, etc.

The number of television channels and programming alternatives availableto the consumer has been increasing dramatically. Under the current gridformat, an expanding number of channels are being pushed onto a singlescreen. The result is that the text of the display becomes so small asto become difficult to read, or the titles and descriptions of theprograms become truncated so as to provide very little information tothe viewer. Due to the overwhelming amount of information and options,it is necessary to have a method of displaying and sorting all theavailable programming information for the television viewer in anefficient manner.

Collectively, prior electronic program guide systems are frustrating tothe viewer because they do not give the viewer an aesthetically pleasingand intuitive way to view information. Adding a description of theprogram for each active cell in the grid, or requiring the viewer to gothrough a hierarchy of screens of categories has not alleviated theproblem of giving the viewer an intuitive and informative method ofdetermining what programming is available.

SUMMARY OF THE INVENTION

The present invention provides an alternative for presenting televisionprogramming information. The information is displayed in spatialarrangement utilizing categories. This can be done through a “tree” typeor three dimensional type format. Using these methods, a programhierarchy is presented to the viewer, giving a categorical layout ofprograms and links to switch directly to described programs, or obtainadditional information about programs. The programs are spatiallyarranged on the display and the viewer is given display choices viauser-links.

The use of categories and spatial placement of programs in theelectronic program guide presents the viewer with an intuitive andinformative display. The viewer can make programming selections quicklyand receive information about desired program choices immediately usinguncomplicated navigational commands. The invention provides anelectronic program guide format gives users an intuitive way to decideon a program they wish to view. Because the guide is set up usingorganizational categories in a spatially outlined fashion, the guide isunobtrusive and immediately understandable.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings in which like reference numbers representcorresponding parts throughout:

FIG. 1 is a block diagram of a television broadcasting system for thetransmission, receipt and display of television content and electronicprogram guide data;

FIG. 2 is a block diagram of the transmission station of the systemshown in FIG. 1;

FIG. 3 is a block diagram of a receiver station for receiving anddecoding audio, video and data signals;

FIG. 4 shows a preferred embodiment of the invention using time andtopical subjects as organizational categories and displayed in a treestyle format;

FIG. 5 shows a continuation of the embodiment shown in FIG. 4;

FIG. 6 shows a preferred embodiment of the invention using an actor,topical subjects and time as organizational categories and displayed ina tree style format;

FIG. 7 shows a preferred embodiment of the invention using time, channeland topical subjects as organizational categories and displayed in atree style format;

FIG. 8A shows a preferred embodiment of the invention using time andtopical subjects as organizational categories and displayed in a threedimensional format;

FIG. 8B shows a three dimensional top view of one group of programtitles shown in FIG. 8A;

FIG. 9 depicts a display showing an operating menu in accordance with anembodiment of the present invention;

FIG. 10 depicts an operating submenu in accordance with an embodiment ofthe present invention;

FIG. 11 is a diagram presenting a flow chart of exemplary method stepsused in practicing one embodiment of the present invention;

FIGS. 12A and 12B are diagrams presenting a flow chart exemplary methodsteps used in practicing another embodiment of the present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

In the following description, reference is made to the accompanyingdrawings which form a part hereof, and which is shown, by way ofillustration, several embodiments of the present invention. It isunderstood that other embodiments may be utilized and structural changesmay be made without departing from the scope of the present invention.

Delivery of Electronic Program Guide Data FIG. 1 depicts a broadcastmedium suitable for delivering electronic program guide data which canbe displayed in the invention format. Specifically, FIG. 1 is a blockdiagram of an electronic program guide data delivery system 20 whichtransmits and receives audio, video and data signals via satellite.Although the present electronic program guide format is described in thecontext of using a satellite-based television broadcasting system, theelectronic program guide data can be delivered using other methods oftelevision content delivery. Examples of other delivering methodsinclude over-the-air systems and cable-based systems.

One method of delivering the electronic program guide is asatellite-based electronic program guide delivery system 20. Thissatellite based system includes transmission station 26, uplink dish 30,satellite 32, and receiver stations 34A-34C (collectively referred to asreceiver stations 34). Transmission station 26 includes a plurality ofinput lines 22 for receiving various signals, such as analog televisionsignals, digital television signals, video tape signals, originalprogramming signals and computer generated signals, containing HyperText Markup Language (HTML) content. Additionally, input lines 23receive signals from digital video servers having hard discs or otherdigital storage media. Each input line 22 typically corresponds to asingle television channel. Transmission station 26 also includes aplurality of schedule feeds 24, which provide electronic scheduleinformation about the timing, content, and transmission channels ofvarious television programs. The electronic schedule information fromschedule feeds 24 is converted into program guide data by transmissionstation 26.

Transmission station 26 receives and processes the various input signalsreceived on input lines 22 and schedule feeds 24, converts the receivedsignals into a standard form, combines the standard signals into asingle output data stream 28, and continuously sends output data stream28 to uplink dish 30. Output data stream 28 is preferably a modulatedsignal, which is modulated by transmission station 26 using standardfrequency and polarization modulation techniques.

Uplink dish 30 continuously receives output data stream 28 fromtransmission station 26, amplifies the received signal and transmits thesignal to satellite 32. Although a single uplink dish and satellite areshown in FIG. 1, multiple dishes and satellites are preferably used toprovide additional bandwidth, and help to ensure continuous delivery ofsignals.

Satellite 32 revolves in geosynchronous orbit about the earth. Satellite32 includes a plurality of transponders that receive signals transmittedby uplink dish 30, amplify the received signals, frequency shift thereceived signals to higher frequency bands, and then transmit theamplified frequency shifted signals back to receiver stations 34.

Receiver stations 34 receive and process the signals transmitted bysatellite 32. Receiver stations 34 include hardware and software forseparating the electronic program guide data from the received signals,and processing and displaying the electronic program guide data.Receiver stations 34 are described in further detail below with respectto FIG. 3.

FIG. 2 is a block diagram of one possible program transmission station26. Transmission station 26 includes program transmitting system 44 andprogram guide transmitting system 46.

Program transmitting system 44 includes input signal adapters 36A-36D(collectively referred to as input signal adapters 36), analog todigital (A/D) converters 38A-38D (collectively referred to as A/Dconverters 38), and combiner 42. Input signal adapters 36 are coupled toA/D converters 38, and A/D converters 38 are coupled to combiner 42.Although four input signal adapters 36 and four A/D converters 38 areshown in FIG. 2, several more will typically be used in commercialsystems.

Input signal adapters 36 receive input signals from input lines 22, andconvert the input signals to a standard form. As mentioned above,signals from input lines 22 include analog television signals, digitaltelevision signals, video tape signals and original programming signals.Input signal adapters 36 preferably convert the input signals to a highquality analog format. The high quality analog signals are output byinput signal adapters 36 to A/D converters 38. A/D converters 38 convertthe analog signals received from input signal adapters 36 to digitalsignals, and compress the digital signals using MPEG2 encoding, althoughother compression schemes may be used.

During the MPEG2 encoding step, A/D converters 38 also perform astatistical multiplexing operation. During the statistical multiplexingoperation, A/D converters 38 determine the amount of bandwidth that eachchannel will use. The amount of bandwidth allowed for each channel isdetermined based upon the content of the signal on that channel, and theamount of bandwidth used by other channels. For a program such as themotion picture “Independence Day”, which has a very dynamic picturecontent with a great deal of movement and numerous bright explosions,the signal can not be compressed as much as a more static video signallike an information channel. The greater the dynamic content of thesignal, the less it can be compressed and the greater the bandwidthrequired.

Typically, 30 Mega bits of data per second are transmitted by uplinkdish 30 for each transponder in satellite 32. Each transponder receivesand transmits data for about 6 channels. Thus, each channel occupiesapproximately 5 Mega bits of data per second, on average. During thestatistical multiplexing operation, the amount of compression for eachchannel, and correspondingly the amount of information transmitted foreach channel, is adjusted up or down depending upon the amount ofavailable space for each transponder. Combiner 42 feeds back informationto A/D converters 38 during the statistical multiplexing operation,informing A/D converters 38 of the amount of bandwidth used by variouschannels. A/D converters 38 then adjust the amount of compression of asignal based on the information fed back from combiner 42.

The MPEG2 encoded digital data are output by A/D converters 38 tocombiner 42. Combiner 42 groups the MPEG2 encoded digital data from eachA/D converter 38 into a plurality of packets, with each such packetmarked with a service channel identification (SCID) number. The SCIDsare later used by receiver 64 (shown in FIG. 4) to identify the packetsthat correspond to each television channel. Combiner 42 combines all ofthe packets for all of the channels, adds error correction data, andoutputs a single output data stream 28 to uplink dish 30.

Program transmitting system 44 processes audio signals in the samemanner as video signals, and combiner 42 combines digital audio signalswith the digital video signals. Combiner 42 also receives electronicprogram guide data from input lines 58 and adds that data to output datastream 28. The assembly and processing of the electronic program guidedata prior to it being sent to combiner 42 is described in more detailbelow.

Also shown in FIG. 2 is an example of one possible program guide datatransmitting system 46. Program guide data transmitting system 46includes data entry station 50, program guide database 48, compiler 52,sub-databases 54A-54C (collectively referred to a sub-databases 54) andcyclers 56A-56C (collectively referred to as cyclers 56).

Schedule feeds 24 provide electronic schedule information about thetiming, content and transmission channels and additional information ofvarious television programs, such as that found in television schedulescontained in newspapers and paper television guides. Schedule feeds 24preferably include information from at least one company thatspecializes in providing schedule information, such as GNS, TribuneMedia Services and T.V. Data. The data provided by companies such asGNS, Tribune Media Services and T.V. Data are typically transmitted overtelephone lines as schedule feeds 24 to program guide database 48. Thesecompanies provide television schedule data for all of the televisionstations across the nation plus the nationwide channels, such asSHOWTIME, HBO, and the DISNEY CHANNEL. The specific format of the datathat are provided by these companies varies from company to company.Additionally, program guide database 48 preferably includes scheduledata for television channels across the entire nation including allnationwide channels and local channels, regardless of whether thechannels are transmitted by transmission station 26.

Program guide database 48 is a computer-based system that receivesschedule data from schedule feeds 24 and organizes the data into programguide data of a standard format. Compiler 52 reads the standard formprogram guide data out of program guide database 48, identifies commonschedule portions, converts the program guide data into the properformat for transmission to users (specifically the program guide dataare converted into objects as discussed below) and outputs the programguide data to one or more of sub-databases 54.

Program guide data are also entered manually into the program guidedatabase 48 through data entry station 50. Data entry station 50 allowsan operator to enter additional scheduling information, as well ascombining and organizing data supplied by the scheduling companies. Aswith the computer organized data, the manually entered data areconverted by the compiler into separate objects and sent to one or moresub-databases 54.

After compiler 52 converts the program guide data from program guidedatabase 48 into the proper object format, compiler 52 outputs programguide objects to sub-databases 54. The program guide objects aretemporarily stored in sub-databases 54 until cyclers 56 request theinformation. Each of cyclers 56 preferably transmits program guideobjects to combiner 42 at a different rate than the other cyclers 56.For example, cycler 56A may transmit program guide objects to combiner42 every second, while cyclers 56B and 56C may transmit program guideobjects every 5 seconds and every 10 seconds, respectively.

All of the program guide objects output by the plurality of cyclers 56are combined by combiner 42. Combiner 42 combines the program guideobjects with digital video and audio data output by A/D converters 38 oninput lines 40. Combiner 42 transmits output data stream 28, whichincludes the program guide data and the digital video and audio data, touplink dish 30. Output data stream 28, which is output by combiner 42,is a multiplexed signal that is modulated by combiner 42 using standardfrequency and polarization modulation techniques.

Since receiver 64 (shown in FIG. 3) may not always be on and receivingand saving program guide objects, the program guide objects arecontinuously retransmitted. Program guide objects for programs that willbe shown in the next couple of hours are sent more frequently thanprogram guide objects for programs that will be shown in 12 hours ormore.

Format of Transmitted Program Guide Data

Prior to transmitting program guide data to sub-databases 54, compiler52 organizes the program guide data from program guide database 48 intoobjects. Each object preferably includes an object header and an objectbody. The object header identifies the object type, object ID andversion number of the object. The object type identifies the type of theobject. The various types of objects are discussed below. The object IDuniquely identifies the particular object from other objects of the sametype. The version number of an object uniquely identifies the objectfrom other objects of the same type and object ID. The object bodyincludes data for constructing a portion of a program guide that isultimately displayed on a user's television.

Prior to transmission, each object is preferably broken down by compiler52 into multiple frames. Each frame is made up of a plurality of 126byte packets with each such packet marked with a service channelidentification (SCID) number. The SCIDs are later used by receiver 64 toidentify the packets that correspond to each television channel. Eachframe includes a frame header, program guide data and a checksum. Eachframe header includes the same information as the object headerdescribed above—object type, object ID and version number. The frameheader uniquely identifies the frame, and its position within a group offrames that make up an object. The program guide data within frames areused by receiver 64 (shown in FIG. 4) to construct and display a programguide on a user's television. The checksum is examined by receiver 64 toverify the accuracy of the data within received frames.

The following is a list of preferred object types, although manyadditional or different object types may be used: boot object, channellist object, channel object, master schedule object, general scheduleobject, boot event object, general program object, time object, deletionobject, HTML object, and a reserved object.

A boot object identifies the SCIDs where all other objects can be found.A boot object is always transmitted on the same channel, which meansthat each packet of data that makes up a boot object is marked with thesame SCID number. Boot objects are transmitted frequently to ensure thatreceivers 64 which have been shut off, and are then turned back on,immediately receive information indicating the location of the variousprogram guide objects. Thus, boot objects are sent from compiler 52 to acycler 56 with a high rate of transmission.

A channel list object contains a list of all the channel objects(discussed below) in a network. A network is a grouping of all channelsfrom a common source, such as all Digital Satellite System (DSAT)channels. For each channel object in the list of channel objects, thechannel list object includes a channel object ID for that channelobject. Each channel object is uniquely identified by its channel objectID.

Each channel object provides information about a particular channel.Each channel object points to a master schedule object (discussedbelow). Each channel object includes multiple fields or descriptors thatprovide information about that channel. Each descriptor includes adescriptor type ID that indicates the type of the descriptor. Descriptortypes include “about” descriptors, “category” descriptors, and“reserved” descriptors. The “about” descriptor provides a description ofthe channel. When there is no “about” descriptor, the descriptiondefaults to a message such as “No Information Available”. The “category”descriptor provides a category classification for the channel. More thanone “category” descriptor can appear in the channel object if thechannel falls into more than one category. “Category” descriptorspreferably provide a two-tiered category classification, such as“sports/baseball” or “movie/drama”, although any number of tiers may beused including single tiers. “Reserved” descriptors are saved for futureimprovements to the system.

A boot event object provides brief information about programs that arecurrently being broadcast or that will be broadcast in the near future(e.g., within the next two hours) on a particular channel. Thus, eachboot event object is associated with one particular channel object, andis not shared among different channel objects. The information providedby the boot event object is not as complete as that provided by ageneral program object (discussed below). The function of the boot eventobject is to allow receiver 64 to quickly acquire program informationafter receiver 64 is powered up. Receiver 64 then continues acquiringcomplete program information in the background from general programobjects. Since the purpose of boot event objects is to provide receiver64 with immediate program information, boot event objects aretransmitted by a cycler 56 that has a high rate of transmission.

A general program object provides a complete description of a program.The general program object is pointed to by other objects (namely,master schedule objects, general schedule objects, and HTML objects)that contain the starting time and duration of the program. Like channelobjects, descriptors are used within general program objects. Generalprogram objects use the same types of descriptors as channel objects.Category descriptors provide a category classification for a program and“about” descriptors provide a description of the program. If compiler 52determines that a particular program is scheduled to appear on multiplechannels, the general program object for that program is transmitted asingle time for the multiple channels, although, as discussed above, itmay be retransmitted multiple times.

A general schedule object points to a group of general program objects.A general schedule object is assigned a time duration by a masterschedule object (discussed below). Each general schedule objectidentifies all of the general program objects that must be acquired forthe assigned time duration. Each general schedule object is uniquelyidentified by a schedule object ID. A unique general schedule object maybe pointed to by more than one master schedule object. As timeprogresses and the scheduling information becomes stale, the generalschedule object is no longer needed. General schedule objects that arenot referenced by any master schedule object are discarded by receiver64.

A master schedule object contains the start time of the entire schedule,as well as the start time and duration of the general schedule objectsand general program objects. A master schedule object points to generalprogram objects and general schedule objects. The start time of thefirst general schedule object is given by the schedule start time. Thestart time of the next general schedule object is the time the previousgeneral schedule object ends. As time progresses and the schedulinginformation becomes stale, a new master schedule object replaces theprevious version, and updates the scheduling information. Thus, thechannel object pointing to the master schedule object need not beupdated. Only the master schedule object is updated.

A time object provides the current time of day and date at transmissionstation 26. Time objects include format codes that indicate which partof the date and time is to be displayed. For example, the only part ofthe date of interest might be the year. Similarly, whenever dates andtimes are transmitted within an object, the dates and times areaccompanied by format codes. The format codes instruct receiver 64 whichportion of the transmitted date and time to display.

A deletion object provides a list of object IDs that receiver 64 mustdiscard.

HTML objects provide additional program guide information. Guideinformation that has been organized and manually entered by operators isconverted into HTML objects. HTML objects can be comprised of text,image files in various formats such as GIF and JPEG, and video files invarious formats such as QUICKTIME and MPEG.

HTML objects can be referenced by other HTML objects. For example, a GIFimage can be used as an illustration in an HTML text block byreferencing the GIF image HTML object from the text HTML object.Additionally, HTML objects can contain instructions that typicallyindicate that certain text should be highlighted and that point at otherprogram guide objects. These referenced instructions are called“hyper-links.” The highlighted text associated with a set of nestedhyper-link instructions is ultimately displayed on a user's screen, andthe displayed text is also referred to as a “hyper-link.” Hyper-linksthat are displayed on a user's screen are selectable by a usernavigating around the electronic program guide using a device such asremote control 86. When a hyper-link is selected, data from HTML objectsthat are pointed to by the hyper-link are displayed.

Reserved objects are saved for future improvements to the program guidesystem. When a new type of object is defined, all objects of that newtype will include an object header with a reserved object type.

A name system object defines a name system. Each name system object isuniquely identified by a name system object ID. A name system isessentially a table of data that assigns an entry ID for each entry inthe table. For example, a name system might be used for program credits.For such a name system, the table would look something like that whichillustrated in Table 1, below:

TABLE 1 Credits Name System (Name System Object ID # 1) Entry Entry ID #“Actor” 10 “Director” 11 “Producer” 12 “Role” 13

Other name systems include Program Information (e.g., “Title”,“Description”, “Year of Production”, etc.), Languages (e.g., “English”,“Spanish”, “French”, etc.), and Lengths (e.g., “Short”, “Medium”,“Long”, etc.). Name systems are used for any sets of data that are usedfrequently by receiver 64. The use of name systems reduces transmissionbandwidth since frequently used data can be transmitted once, and thenreferred to later by codes (i.e., Name System Object ID and Entry ID).

Name system objects also occasionally include matching instructions. Thematching instructions associate two or more entries within a namesystem, or associate one or more entries from one name system with oneor more entries from a second name system. For example, the Credits NameSystem described above could include matching instructions to match the“Actor” entry with the “Role” entry as shown in Table 2 below:

TABLE 2 Credits Name System (ID # 1) Entry Entry ID # MatchingInstructions “Actor” 10 Use Credits Name System, Entry 13 “Director” 11“Producer” 12 “Role” 13

If the following two name descriptors are transmitted:

(1) “Harrison Ford” [Name System Object ID for “Credits” name system,Entry ID for “Actor”]

(2) “Indiana Jones” [Name System Object ID for “Credits” name system,Entry ID for “Role”]

Receiver 64 will note the matching instructions when it accesses theCredits Name System Table, and will automatically match the two dataelements “Indiana Jones: Harrison Ford”.

Receipt and Processing of Program Guide Data

FIG. 3 is a block diagram of one of receiver stations 34 which receivesand decodes audio, video and data signals. Receiver station 34 includesreceiver dish 60, receiver 64, television 66, recording device 68 andremote control 86. Receiver 64 includes tuner 70, digital-to-analog(D/A) converter 72, CPU 74, clock 76, memory 78, logic circuit 80,interface 82, and infrared (IR) receiver 84.

Although this embodiment shows a receiving station located at thetelevision, this is not the only acceptable embodiment. The electronicprogram guide may be assembled and generated at the transmitting site,then transmitted as analog or digital signals over distance to thedisplaying device. Alternatively, the receiver may be combined with, orbe a part of the displaying device. Thus, the transmitting, receiving,and displaying system described herein is but one embodiment of theinvention. Other embodiments exist, one example being a computer with amonitor coupled to a network.

Receiver dish 60 receives signals sent by satellite 32, amplifies thesignals and passes the signals on to tuner 70. Tuner 70 operates undercontrol of CPU 74. The functions performed by CPU 74 are controlled by acontrol program stored in memory 78. Memory 78 also stores a parametertable, which includes a variety of parameters for receiver 64 such as alist of channels receiver 64 is authorized to process and generatedisplays for, the zip code and area code for the area in which receiver64 is used, and the model number of receiver 64. Clock 76 provides thecurrent local time to CPU 74. Interface 82 is preferably coupled to atelephone jack at the site of receiver station 34. Interface 82 allowsreceiver 64 to communicate with transmission station 26 via telephonelines. Interface 82 may also be used to transfer data to and from anetwork, such as the Internet.

The CPU 74 operates under control of an operating system stored in thememory 78 or within an auxiliary memory within the CPU 74. The functionsperformed by CPU 74 are controlled by one or more control programs orapplications stored in memory 78. Operating system and applications arecomprised of instructions which, when read and executed by the CPU 74,cause the receiver 64 to perform the functions and steps necessary toimplement and/or use the present invention, typically, by accessing andmanipulating data stored in the memory 78. Instructions implementingsuch applications are tangibly embodied in a computer-readable medium,such as the memory 78 or the access card 88. The CPU 74 may alsocommunicate with other devices through interface 82 or the receiver dish60 to accept commands or instructions to be stored in the memory 78,thereby making a computer program product or article of manufactureaccording to the invention. As such, the terms “article of manufacture,”“program storage device” and “computer program product” as used hereinare intended to encompass any application accessible by the CPU 74 fromany computer readable device or media.

Memory 78 and access card 88 store a variety of parameters for receiver64, such as a list of channels receiver 64 is authorized to process andgenerate displays for; the zip code and area code for the area in whichreceiver 64 is used; the model name or number of receiver 64; a serialnumber of receiver 64; a serial number of access card 88; the name,address and phone number of the owner of receiver 64; and the name ofthe manufacturer of receiver 64.

Access card 88 is removable from receiver 64 (as shown in FIG. 3). Wheninserted into receiver 64, access card 88 is coupled to access cardinterface 90, which communicates via interface 82 to a customer servicecenter (not pictured). Access card 88 receives access authorizationinformation from the customer service center based on a user'sparticular account information. In addition, access card 88 and thecustomer service center communicate regarding billing and ordering ofservices.

Clock 76 provides the current local time to CPU 74. Interface 82 ispreferably coupled to a telephone jack at the site of receiver station34. Interface 82 allows receiver 64 to communicate with transmissionstation 26 via telephone lines. Interface 82 may also be used totransfer data to and from a network, such as the Internet.

The signals sent from receiver dish 60 to tuner 70 are digital signalsthat are grouped into a plurality of packets. Each packet includes aheader that identifies the SCID number for the packet, and the type ofdata contained in the packet (e.g., audio data, video data, or programguide data). Tuner 70 includes multiple output lines for transmittingvideo data, audio data, and program guide data. As packets are receivedfrom receiver dish 60, tuner 70 identifies the type of each packet. Iftuner 70 identifies a packet as program guide data, tuner 70 outputs thepacket to memory 78. Program guide data is stored in a guide database inmemory 78.

Initially, as data enter receiver 64, tuner 70 looks for a boot object.Boot objects are always transmitted with the same SCID number, so tuner70 knows that it must look for packets marked with that identificationnumber. A boot object identifies the identification numbers where allother program guide objects can be found. The information from the bootobject is used by tuner 70 to identify packets of program guide data androute them to memory 78.

As program guide data is received and stored in the guide database inmemory 78, CPU 74 acts as a control device and performs variousoperations on the data in preparation for displaying a program guide ontelevision 66. These operations include packet assembly, object assemblyand object processing.

The first operation performed on the program guide data stored in theguide database in memory 78 is packet assembly. During the packetassembly operation, CPU 74 examines the stored program guide data anddetermines the locations of the packet boundaries.

The next step performed by CPU 74 is object assembly. During the objectassembly step, CPU 74 combines packets to create object frames, and thencombines the object frames to create program guide objects. CPU 74examines the checksum transmitted within each object frame, and verifieswhether the frame data was accurately received. If the object frame wasnot accurately received, it is discarded from memory 78. Also during theobject assembly step, receiver 64 discards assembled objects that are ofan object type that receiver 64 does not recognize. Receiver 64maintains a list of known object types in memory 78. CPU 74 examines theobject header of each received object to determine the object type. CPU74 compares the object type of each received object to the list of knownobject types stored in memory 78. If the object type of an object is notfound in the list of known object types, the object is discarded frommemory 78. Similarly, receiver 64 maintains a list of known descriptortypes in memory 78, and discards any received descriptors that are of atype not in the list of known descriptor types.

The last step performed by CPU 74 on received program guide data isobject processing. During the object processing step, the objects storedin the guide memory 78 are combined to create a digital image of aprogram guide. Instructions within the objects direct CPU 74 toincorporate other objects or create accessible user-links. The digitalimage of the electronic program guide is later converted to an analogsignal that is sent by the receiver 64 to television 66 for display to auser. Television 66 may alternatively be a digital television, in whichcase a digital to analog conversion would not be necessary.

When a user requests the display of a program guide by pressing a“guide” button on remote control 86, a guide request signal is receivedby IR receiver 84 (shown in FIG. 4) and transmitted to logic circuit 80.Logic circuit 80 informs CPU 74 of the guide request. In response to theguide request, CPU 74 causes memory 78 to transfer the program guidedigital image to D/A converter 72. D/A converter 72 converts the programguide digital image into a standard analog television signal, which isthen transmitted to television 66. Television 66 then displays theprogram guide.

Users interact with the electronic program guide using remote control86. Examples of user interactions include selecting a particular channelor requesting additional guide information. Remote control 86 emitsinfrared signals that are received by infrared (IR) receiver 84 inreceiver 64. Other types of data entry devices may alternatively beused, such as an ultra-high frequency (UHF) remote control, a keypad onreceiver 64, a remote keyboard and a remote mouse. When a user selects achannel using remote control 86, IR receiver 84 relays the user'sselection to logic circuit 80, which then passes the selection on tomemory 78 where it is accessed by CPU 74. CPU 74 instructs tuner 70 tooutput the audio and video packets for the selected channel to D/Aconverter 72. D/A converter 72 converts the packets to analog signals,and outputs the analog signals to television 66.

Categorical Guide Format

Receiver 64 combines objects stored in memory 78 in a manner thatcreates an electronic program guide. CPU 74 examines the objects storedin memory 78 to determine which program objects will be displayed on thetelevision 66 as the electronic program guide. The receiver 64 has apre-set template for the electronic program guide which may be alteredthrough various methods, including operational menus discussed in FIGS.9 and 10. The receiver 64 uses organizational categories and structuresto determine which program objects will be used to fill in areas in thetemplate stored in the receiver 64. This use of sorting and of thespecific arrangement of objects is particular to this invention.

The invention electronic program guide informs the user of upcomingprogramming by grouping similar programs together. This allows the userto eliminate excess programming information which he or she is notinterested in, displaying only programming which fits his or herpreferences. A difference between prior art guides and the inventionguide is that the invention guide separates and organizes programinformation using organizational categories, and then spatially groupsthe program information in an outline format. The user can subsequentlyaccess more detailed program information when he or she findsinformation which interests him or her.

The invention electronic program guide displays program informationwhich falls under a broad organizational category and then furtherorganizes the information by using sub-categories. The information canfurther be organized by using more levels of sub-categories. Thisorganizational structure can continue to any level of detail. Theinformation is then displayed to the user by spatially arranging theorganizational topics and/or the program information so that pieces ofprogram information which belong to the same organizational categoriesare displayed close together while other pieces of program informationwhich are not in the same organizational category are spatiallyseparated on the display.

FIG. 4 depicts a preferred embodiment of the invention using a “treeorganization” embodiment of the electronic program guide 90A asgenerated by receiver 64. Tree organization electronic program guide 90Aincludes organizational categories 92 graphical indicia 115 and programtitles 94. Organizational categories 92 are located in a first region96, second regions 98A-98B and third regions 100A-100D. Program titles94 are displayed in the program title region 102A-102D. Regions areindicated in FIGS. 4-8 by dotted lines. Those dotted lines are for thepurposes of this description, and are not actually displayed on thescreen. Note that in the following description of FIGS. 4-8, specificexamples of program guide elements such as second region 98A and thirdregion 100A are referred to with a reference number that includes anappended letter, in this case the letter “A”. On the other hand, whenprogram guide elements are referred to generally, no letter is appended(e.g., first region 96, which refers collectively to all of the firstregions which appear in the invention embodiment).

The organization of the invention electronic program guide is conveyedspatially. Any number of organizational categories can be used,including those based on time, actor, topical subjects, and channel.Here, the overall organization for the guide is shown in first region 96as “9:21 p.m. Thu Oct. 21, 1998.” Therefore, the first level, or overallorganization of the electronic program guide 90A includes all programtitles 94 which are associated with the time-based organizationalcategory 92 specified in the first region 96. In this embodiment, thefirst-level organization includes all programming which occurs on aparticular day, specifically Thursday, Oct. 21, 1998.

The second-level of organization is shown in the second regions 98A and98B as the organizational categories 92, “Mysteries” and “News.” Programtitles 94 which are associated with topical subjects “Mysteries” and“News” are separated from the larger group of program titles 94associated with the first-level organizational category 92, “Thursday,Oct. 21, 1998.” Although only two topical subjects are shown (Mysteriesand News), any topical subject may be used as an organizational category92. For example, a short and non-exclusive list of topical subjectswhich can be used as organizational categories 92 would include: sports,movies, comedy, action, religion, music, science and history.

The third-level organization of the electronic program guide 90A isshown in the second regions 100A-100D as the organizational categories92, “Now” and “Next Hour.” These time-based organizational categoriesare used to separate program titles from the larger group of programtitles associated with the first two organizational levels. In thisembodiment, program titles 94 currently being broadcast and programtitles 94 that will be broadcast in the next hour (at 10:00 p.m.) areseparated from all mysteries and news programs televised on Thursday,Oct. 21, 1998. The final result of sorting and separating program titles94, using the organizational categories 92, leaves all program titles 94transmitted on Thursday, Oct. 21, 1998, which are mysteries or newsprograms, and are being transmitted now or next hour (at 10:00 p.m.).This group of program titles 94 is displayed in the program titleregions 102A-102D. Each program title 94 is located spatially adjacentto other program titles 94 which are members of the same organizationalcategories 92. This “grouping” is shown in the area defined by theprogram title region 102.

Each program title 94 is assigned to at least one organizationalcategory 92. The assignment of program titles 94 to organizationalcategories 92 is provided by the scheduling companies, or manuallyentered at the site of the program guide database 48. The association ofeach program title 94 to categories allows the CPU 74 to organize theelectronic program guide 90 according to a category or sub-category. Theorganizational structure of the electronic program guide 90 can bepre-set in the receiver 64 as well as created by the user. Instructionson creating the structure are contained in a software control programstored in memory 78. These instructions specify a series of topicalsubjects, time frames, actors and transmission channels to be used asorganizational categories 92 for first, second and third-levelorganization. Other organizational categories 92 not listed here mayalso be used to create the electronic program guide 90. In addition,although the embodiments discussed only show organization up to athird-level, any number of levels of organization can be used. When morelevels of organization are used, the overall organization becomes morerefined, resulting in less program titles 94 having commonorganizational categories.

The user can choose the organizational structure he or she wishes tohave displayed as the electronic program guide 90. Choosing whichembodiment of the invention electronic program guide 90 is to be usedcan be done in a variety of ways. One method is through use of anoperating menu, which will be discussed later with respect to FIGS.9-11. Further, a user may choose his or her own set of organizationalcategories 92 and the organizational levels where they are to be used. Aselection in an operating menu allows users to choose organizationalcategories 92 for a number of levels (first, second, third etc.), whichgives users the option of personalizing the electronic program guide toshow program titles that they would be most interested in. Once theselection is made, the newly created embodiment of the electronicprogram guide 90 can be saved in the memory 78 of the receiver 64.

A connection between certain organizational categories 92 (shown in FIG.5) is indicated by a series of line connectors 104. Although the spatialplacement of the organizational categories 92 next to the program titles94A indicate this connection, the line connectors 104 produce a visualeffect which helps to indicate to the user what series of organizationalcategories 92 each program title 94 belongs to. Additionally, colorcoding may be used to achieve the same result. Different organizationalpaths can be assigned different colors. For example, in FIG. 4, thesecond-level organization using the topical subject of “Mysteries” canbe indicated using the color green, and news can be indicated using thecolor yellow. The third-level organization which distinguishes betweenmysteries and news programs being shown now and next hour can beindicated using different shades of green and yellow. Thus, under“Mysteries”, all the program titles associated with “Now” are shadeddark green, and all the program titles associated with “Next Hour” areshaded light green. Using a color coding system can also allow theelimination of displaying the organizational categories 92 in a textformat. For instance, an alternative embodiment of FIGS. 4 & 5eliminates the second regions 98A-98F and the third regions 100A-100I aswell as line connectors 108. Different shades of organizational colorsare used to represent organizational categories 92. By presenting theuser with the key to the color coding scheme, the user is able toassociate the program titles 94 to organizational categories 92 by usingthe spatial grouping of the program titles 94 in the program titleregions 102A-102I, and by using the organizational colors. This type ofembodiment, where the text name of the organizational categories 92 isnot displayed, is further discussed with respect to FIG. 8.

A scrolling pointer 106 is located at the bottom of the display shown inFIG. 4. Pointer 106 indicates to the user that more information existsthan can fit on the display area of television 66. Using remote control86, the user can scroll down to display more program titles 94.

FIG. 5 shows a continuation of the display shown in FIG. 4 after theuser has scrolled down. The organizational categories 92 used in secondregions 98C-98F are the topical subjects 92, “Sports”, “Movies”,“Comedy” and “Other.” Any program titles 94 which fit under the first oroverall organizational category 92 displayed in the first region 96 (ofFIG. 4), but do not fit into any specific topical subjects in the secondregions 98A-98E, are lumped into a general topical subjectorganizational category 92, displayed in the second region 98F as“other.” “In progress” is used as a third-level organizational category92 in third regions 100E-100F. This category is another example of atime based organizational category 92. “In progress” is used to separateprogram titles 94 which are currently being televised and extend intothe next hour of programming from program titles 94 which are currentlybeing televised and are scheduled to end before the next hour ofprogramming begins. An alternate programming link 108 is shownconnecting the two program titles 94, “National League ChampionshipSeries” and “Good Times.” This alternate programming link 108 is onemethod of graphically indicating when one of two programs may betransmitted at a particular time. Here, if the program “National LeagueChampionship Series” ends early, the program “Good Times” will betransmitted in its place.

Any category or combination of categories may be used to organize theelectronic program guide. An embodiment of the electronic program guide90C using alternate organizational categories is shown in FIG. 6. Here,the organizational category 92, used as the first-level organization, isGene Hackman (an actor) shown in first region 96. The second-levelorganization uses the topical subjects “Dramas”, “Comedies” and “Action”as organizational categories 92. The second-level categories are locatedin the second regions 98A-98C. Third-level organization uses time basedorganizational categories 92, “This Week” and “This Month” shown inthird regions 100A-100F. The organizational categories 92 used in thethird regions 100 for this embodiment are not mutually exclusive. Here,one organizational category 92 “This Week” shown in third-level regions100A, 100C and 100E is fully contained in the other third-levelorganizational category 92 “This Month” shown in third-level regions100, 100D and 100F, illustrating the flexibility of the inventionelectronic program guide 90C. It is not necessary to only displayprogram titles 94 in relation to one organizational category. Programtitles 94 can and do overlap categories as shown by the program titles94 which are found in more than one program title region 102 in thisembodiment (i.e. The Firm, The Birdcage, Crimson Tide).

Pictorial representations 110 can be interspersed as shown in FIG. 6.These may be user-links (described with respect to FIG. 8B) or maysimply serve to illustrate the display. Pictorial representations 110can be still pictures or icons. Alternatively, pictorial representations110 can be video clips which roll when requested by the user, or runcontinuously.

The spatial relation of the regions in the display where theorganizational categories 92 and the program titles 94 are placed canalso be varied. First region 96, containing the title of the programguide, need not necessarily be placed at the top of the display.Additionally, second regions 98, third regions 100 and program titleregions 102 may be placed in any spatial relationship to each other, notnecessarily from left to right on the screen. Any arrangement whichintuitively conveys the organization of the electronic program guide 90can be used.

As shown in FIG. 7, the organizational regions 96, 98, 100 and programtitle regions 102 are arranged vertically in the electronic programguide 90D, compared to the horizontal arrangement used in FIGS. 4-6.Here, the first region 96, showing the overall organization is placednear the bottom of the display. The second regions 98 and third regions100 are then arranged from the top to the bottom of the display. Thisarrangement allows the flow of organization to be communicatedintuitively to the user. Locating the organizational category 92Thursday, Oct. 21, 1998 in the title region 96 at the bottom of thedisplay still effectively conveys the title of the electronic programguide 90D. The title of the display is intuitively the broadestorganizational category 92 of the program titles 94 displayed.Organizing the remaining categories from top to bottom of the electronicprogram guide 90D is intuitive to the user as well, since people areaccustomed to reading from top to bottom.

An example of using channels as an organizational level is also shown inFIG. 7. The second-level organization uses various channels asorganizational categories 92 in second regions 98A-98D. The electronicprogram guide 90D communicates to the user the program titles 94 whichare being televised on channels “5”, “7”, “9” and “11 ” on “Thursday,Oct. 21, 1998.” The program titles are further sorted and organized bythe organizational categories 92 shown in the third regions 100-100H,where the topical subjects of “Drama” and “Mystery” are used asorganizational categories 92.

An alternate embodiment of the invention electronic program guide 90E isshown in FIG. 8A. Electronic program guide 90E uses three dimensionalspace to arrange the program titles 94 and organizational categories 92.In this embodiment, the text indicating organizational categories 92 iseliminated, along with line connectors 104. By spatially arrangingrelated program titles 94 in close proximity, the organizational levelsare intuitively indicated. The regions used to indicate organization arespatially arranged along x-y-z axes. In other words, the electronicprogram guide 90E is placed three-dimensionally in space. Thefirst-level of organization is shown in guide title region 96. Onceagain, this guide title region 96 intuitively communicates the broadestlevel of organization for the electronic program guide 90E. Thesecond-level of organization is shown in second regions 98A-98F, whichappear as 3-dimensional boxes (as stated previously, regions areindicated by dotted lines and are not actually displayed on the screen).The third-level organization is shown in the third regions 100A and100B, which appear as parallel planes within second region. In order tobetter illustrate this embodiment of the invention electronic programguide 90E the dotted lines indicating third regions 100 have beenomitted with the exception of second region 98F. Third regions 100 arefurther discussed in FIG. 8B.

Instead of using the words “Mystery” or “News” with a network of linesto indicate to the user which organizational category 92 is being usedfor the second-level organization, the second regions 98 are spatiallyseparated in a plane created along an x-axis 112 and a y-axis 114 of thedisplay. The third-level organization occurs by spatially separating theprogram titles 94 in three-dimensional space along a z-axis 116 of thedisplay. The separation of program titles 94 along the z-axis 116 hasthe effect of placing some program titles 94 behind other program titles94. Therefore, the time based organizational categories “Now” and “NextHour”, which are shown textually in FIG. 4, are illustrated in FIG. 8Aby placing the program titles 94 which are playing “now” proximate tothe screen in third region 100A, and those that are playing “Next Hour”deeper in the display in third region 100B, distal from the screen alongthe z-axis 116. Again, this is an intuitive way of communicating to theuser when programs will be transmitted. Those programs further awayspatially from the user are further away in time. The z-axis 116 in thisembodiment represents time.

Other methods may be used in conjunction with spatial separation toemphasize the different organizational categories 92. In the currentembodiment, different cross-hatching or background patterns 118A-118Fare used to further distinguish the second-level organizationalcategories 92. Additionally, the “in progress” time category can berepresented by the background pattern 118 using fading 120, which tellsthe user that the program title 94 is partially finished withtransmission. This is accomplished by deleting a portion of backgroundpattern 118. Colors may be used in conjunction with or in place ofbackground patterns 118 to create the same effect of distinguishingorganizational categories 92. Additionally, text boxes using differentshapes may also be used.

To describe the spatial separation of the categories in FIG. 8A, theregions 98A-98F have been labeled in a clockwise fashion, beginning withthe middle region on the left side of FIG. 8A. The second-level category“Movies” is used as the organizational category 92 which defines secondregion 98A. The program title is placed proximate to the screen,indicating the program is being transmitted “Now.” The time oftransmission of the program title 94 is further communicated by thebackground pattern 118A. The background pattern 118A uses fading 120Awhich indicates to the user that the program is currently in progress.

The second-level category “Mysteries” is used as the organizationalcategory 92 which defines second region 98B. Here, three program titles94 are proximate to the screen, indicating the programs are beingtransmitted earlier than the program “Father Dowling” placed deeper intothe display. The background pattern 118B also serves to indicateprograms which are grouped together as part of a second-level category.The programs placed closer to the screen utilize lighter shading for thebackground pattern 118B than those placed deeper in the screen, servingto communicate the separation of the programs transmitted now from thosethat will be transmitted in the future.

The second-level category “Comedy” is used as the organizationalcategory 92 which defines second region 98C. Once again backgroundpattern 118C is used to further distinguish the spatial separation ofthe second-level categories. Additionally, programs transmitted earlierand these transmitted later are distinguished by lighter and darkershading of the background pattern 118C.

The second-level category “Sports” is used as the organizationalcategory 92 defining second region 98D. Similar to second region 98A,the background pattern 118D is used to indicate that the program is “inprogress”, not only by positioning the program title proximate to thescreen on the display, but also by fading 120D.

Any program titles 94 which do not fit into a specific category areplaced in the second region 98E designated “Other.” Both these programtitles 94 have the same background pattern 118E to show the membershipto the same second-level category, shaded the same to show that theywill be transmitted at the same time.

Finally, the second-level category “News” is placed in second region98F. To illustrate the spatial separation along the z-axis 116 of thethird-level organization, third regions 100A and 100B have beenindicated with a dotted line. The third regions 100A and 100B clearlyindicate the two planes (which designate a transmission time of “Now”and “Next Hour”) where the program titles 94 are positioned.

To further illustrate the use of spatial separation along the z-axis116, second region 98F is shown in FIG. 8B. The view in FIG. 8B is takenlooking down into second region 98F. All program titles 94 associatedwith the second-level organizational category 92 “News” are spatiallyadjacent to one another in the three dimensional second region 98F.These program titles 94 use a third-level time based organizationalcategory 92. This third-level organization is shown by the spatialseparation of the third regions 100A-100B, along the z-axis 116.Although this embodiment shows only two third regions 100A-100B, it ispossible that additional “layers” of third regions 100 could exist.

For example, the third-level organization could consist of 9:00 p.m.,10:00 p.m., and 11:00 p.m. Program titles 94 shown at 9:00 p.m. would bein an x-y plane (formed by the x-axis 112 and y-axis 114) proximate tothe screen along the z-axis 116. Program titles 94 shown at 10:00 p.m.would be positioned in an x-y plane layered behind the 9:00 p.m. programtitles 94. Finally, the program titles 94 shown at 11:00 p.m. would bepositioned on an x-y plane layered the farthest into the display alongthe z-axis 116.

The organizational categories 92 shown in FIGS. 4-8 are included in theprogram guide data transmitted to the receiving station 34. Eachorganizational category 92 can be used at any organizational level inany of the embodiments of the electronic program guide 90. Additionally,organizational categories 92 based on the same general concept can beused at different organizational levels. To illustrate, time-basedcategories may be used in the first region 96 of the electronic programguide 90 (i.e. “What's on this hour”), giving the overall organizationof program titles 94. Alternatively, it may be used as the second-levelorganization by which program titles 94 are further organized. Forexample, using the organizational category 92 based on the topicalsubject “Dramas” as the overall organization, time may be used for thesecond-level organization. The time based categories could be used toseparate dramas which start at 7:00 p.m. from dramas which start at 8:00p.m.

Just as the manner in which the broad organizational category of topicalsubjects covers organizational categories 92 including “drama”, “action”and “comedy”, the broad organizational category “time” coversorganizational categories including “week”, “day”, “morning”,“afternoon”, and “hour.” Thus, a time based organizational category canbe used at different organizational levels. The overall organization canbe what is playing on a specific day and the second-level organizationcan be what is playing each hour. Alternatively, the overallorganization can be what is playing at a specific hour, with asecond-level organization of what is playing on a series of days at thathour.

Typically, multiple organizational categories 92 used in organizationalregions on the same level (i.e. all first regions 98) will be based on asingle theme, such as time or topical subject or actor or channel. Forexample, for second-level organization shown in second regions 98,organizational categories 92 including “Drama”, “Action”, “Comedy” and“News” are used. All of these categories are topical subject based. Itis not intuitive to create a level of organization which uses theorganizational categories 92 “Drama”, “Action”, “Comedy” and “7:00 p.m.”(i.e. three topical based categories and one time based category). Byusing organizational categories which are based on time, channel, actor,or topical subject, the invention is able to communicate programminginformation in an effective, intuitive manner.

The electronic program guide 90 is supplied with user-links 122. In FIG.8B the user-link 122 is indicated as a program title 94. However,user-links 122 can include organizational categories 92 or programtitles 94. A user-link 122 may be selected by navigating around theelectronic program guide 90 using remote control 86. The viewer usesremote control 86 to direct some type of pointer or indicator around theelectronic program guide 90. Although the user-link 122 shown in FIG. 8Bis a block of text, any information displayed in the electronic programguide 90 (including pictures and icons) can constitute a user-link.

One purpose of user-links 122 is to give the user the option ofrequesting additional information about the organizational categories 92or program titles 94 displayed in the electronic program guide 90. Forexample, when the viewer selects user-link 122 in FIG. 8B, which refersto a program title 94, the receiver 64 displays text that includes moreplot information and a list of actors in the selected program, as wellas other information the user may be interested in. Other informationmay include the time of transmission and the channel of transmission ofthe program title 94. Alternatively, user-link may cause the receiver 64to tune directly to a channel which contains the television programmingassociated with the program title 94. For example, if the user-link 122selected refers to a program title which is currently being transmitted,the receiver may tune directly to the program content (or alternativelya choice may be offered to the user to either receive more informationregarding the program title 94 selected, or tune to the programcontent).

Typically, user-links 122 are of two basic types, although other typescan be added. Information style user-links 122 cause the receiver tolink one of two basic types of information. The first destination forthe information style user-link 122 is to program objects stored inmemory. Program objects, channel objects, boot event objects, HTMLobjects and their descriptors may be accessed by user-links 122. Theseuser-links 122 access information stored in receiver 64 (shown in FIG.3). The user selects user-link 122 using remote control 86. As describedpreviously, a signal indicating an information request is received by IRreceiver 84 and transmitted to logic circuit 80. Logic circuit 80informs CPU 74 of the request. In response to the request, CPU 74 causesmemory 78 to transfer the object specified by the user-link to the D/Aconverter 72, which then transmits the object or descriptor to bedisplayed on television 66.

An example of this type of user-link 122 is shown in FIG. 8B. Theuser-link 122 points to information in memory 78 about the identifiedprogram title, including information about the actors starring in theprogram, the time of transmission, the channel and a plot synopsis. Thisinformation can be identified through the name system discussedpreviously. After searching memory 78, the receiver 64 displays anyinformation that matches the program title 92. After identifying anddisplaying the information associated with the program title 92, thereceiver may display user-links to other program objects associated withthe program titles 94. This can include information on roles played bythe starring actors and other program titles 98 with which they areassociated.

Command style user-links are the second main type of user-links 122.These links cause something to happen other than the transferal ofprogram guide information. For example, the user is able to instruct thereceiver 64 (see FIG. 3) to tune to the correct channel of transmission,to activate a recording device 68, or to allow the user to place areminder of an upcoming program. If a user selects automatic recordingfor an entry, receiver 64 instructs recording device 68 to startrecording the desired program at the start of the program, and causesrecording device 68 to end recording when the desired program is over.If a reminder is set, the receiver 64 would indicate to the user whenthe selected upcoming television program was being transmitted. Althoughthese user-links 122 can be displayed as part of the inventioncategorical electronic program guide 90, the command style user-link canalso be listed as choices in an operating menu 124 (shown in FIG. 9).The operating menu 124 is displayed by selecting a “menu” button onremote control 86.

An example of an operating menu 124 is shown in FIG. 9. The operatingmenu 124 is generated by the receiver 64 and does not rely on programguide data to be generated. The display is “hard wired” into thereceiver 64, meaning a digital image of menu 124 is stored in memory 78.

The operating menu 124 shown in FIG. 9 includes a guide link 126, aguide styles link 128, and a list of feature links 130. The featurelinks 130 allow the user to perform an action which is not directlyrelated to the information in the electronic program guide 90. Forexample, these links preferably allow the user to check electronic mail,purchase items through an electronic catalog, or adjust the color orbrightness of the signal to the user's television. These feature links130 therefore are not directly related to scheduling information or theelectronic program guide 90.

Although command style user-links may be used to allow the user toselect various options such as tuning to a particular televisionprogram, directing the receiver 64 to record a program, and setting areminder (as discussed), alternate methods can exist to choose theseoptions. Buttons may exist on remote control 86 which allow the user todirectly request these options. Once the user has highlighted a programtitle 98, he or she may simply press the option button which performsthe desired function (i.e. “record this program” or “set reminder”).Other methods can exist to accomplish this task.

The guide link 126 allows the user to request the receiver 64 to displaythe electronic program guide 90. For example, the receiver 64 coulddisplay the operating menu 124 when the user pressed the “menu” buttonon remote control 86. The user could then select the guide link 126 fromthe operating menu 124 in order to display the electronic program guide90. This manner of requesting the receiver 64 to display the electronicprogram guide is by no means the only way to accomplish this task. Forexample, the remote control 86 can also contain a “guide” button which,when selected, displays the electronic program guide 90. Other methodsmay also be used to accomplish this task.

The guide styles link 128 allows the user to select the electronicprogram guide 90 embodiment which he or she prefers. An example of asub-menu 132 generated after a user selects the guide styles link 128 isshown in FIG. 10. The sub-menu 132 is generated by receiver 64. Similarto the operating menu 124, the sub-menu 132 is generated by receiver 64using a digital image stored in memory 78. The digital image for thesub-menu 132 contains blank areas where titles to different programguide embodiments can be inserted. These titles are contained in theprogram guide data transmitted to receiver 64. The program guide titlesare inserted into the blank areas as guide-links. The sub-menu 132includes a grid guide link 134 and categorical program guide links 136.Selecting one of the guide-links 134 and 136 allows the user to choosethe style of electronic program guide 90 that he or she wishes to view.Choosing the grid guide-link 134 would display the prior art programguide utilizing a grid format with program titles placed in “cells.”Choosing one of the categorical program guide links 136 would display anembodiment of the invention categorical electronic program guide 90described above and illustrated in FIGS. 4-8. A “user preferences” link138 can be included to allow a user the option of choosingorganizational categories which suit his or her preferences. Afterchoosing the organizational categories this user defined version of theinvention categorical electronic program guide 90 may be saved in memory78 and recalled at a later time.

FIG. 11 is a flow chart presenting exemplary process steps used topractice one embodiment of the present invention. Program guide inputdata is retrieved, as shown in block 1102. The program guide input dataincludes a plurality of program titles, each program title beingassociated with one or more organizational categories. Next, as shown inblock 1104, data describing the program guide is generated. The programguide includes at least one organizational category, at least a subsetof the program titles associated with the organizational category, and agraphical indicia between the organizational category and the programtitles associated with the organizational category. In one embodiment,the program guide includes a hierarchical arrangement of at least aportion (e.g. two or more) of the organizational categories including alowest level organizational category, and the graphical indicia includesan indication of an association between the lowest level organizationalcategory and the program titles associated with the lowest levelorganizational category. This hierarchical arrangement of organizationalcategories can be user-controllable, with the user defining which of theorganizational categories are displayed, and the hierarchical order ofthe categories. For example, FIGS. 4 and 5 depict a program guide inwhich the organizational categories include “what's on” (thehighest-level organizational category), and the “Mysteries,” “News,”“Sports,” “Movies,” “Comedy,” and “Other” categories, which aresecond-level categories, and “Now,” “Next Hour,” and “In-Progress”categories which are third level (and in this example, lowest-level)categories. Program titles are presented with a graphical indicia suchas the lines between the lowest-level categories and the program titles.Further, FIG. 6 presents a different hierarchical arrangement in whichthe actor category (in the example, “Gene Hackman”) is the highest levelorganizational category, and the second level categories are “Drama,”“Comedies,” and “Action.” Lowest-level categories include “This week,”and “This month,” and program titles are associated with the lowestlevel categories by a graphical indicia. In the illustrated embodiment,the graphical indicia includes both lines extending from the lowestlevel hierarchical category to the member program titles, as well as athe proximity and position of the program titles to the hierarchicalcategories. Similarly, FIG. 7 presents yet another hierarchicalarrangement in which the highest level organizational category is“What's On,” the second level organizational categories describe thechannel (e.g. “Channel 5,” “Channel 7,” “Channel 9,” “Channel 11,”) andthe third level organizational categories describe the program type(e.g. “Drama” and “Mystery.” Graphical indicia, including linesextending from the lowest level hierarchical category to the memberprogram titles is also presented. FIG. 8A illustrates a threedimensional presentation of the hierarchical arrangement.

FIGS. 12A-12B are flowcharts presenting illustrative method steps usedto practice another embodiment of the present invention. An input streamof program content and electronic program guide data is received, asshown in block 1202. The electronic program guide data is then separatedfrom the input stream and stored, as shown in blocks 1204 and 1206. Adisplay is then generated from the electronic program guide data, asshown in block 1208. The display includes a plurality of program titlesand a plurality of organizational categories, each program titlebelonging to at least one of the organizational categories. The programtitles are arranged in the display so that the program titles thatbelong to the same organizational categories are spatially adjacent andprogram titles that are not members of the same organizationalcategories are spatially separated. This is illustrated in block 1210. Afirst level organization is created through the organizationalcategories, as shown in block 1212. The overall content of the programguide is defined through this first level organization, as shown inblock 1214. A second level organization is then created through theorganizational categories, as shown in block 1216. Then, as shown inblock 1218, the program titles are defined having a spatial separationusing the second level organization. As shown in blocks 1220 and 1222,the organizational categories may be time, channel, topic, or actorbased, and can be arranged at any organizational level.

Conclusion

The foregoing description of the preferred embodiment of the inventionhas been presented for the purposes of illustration and description. Itis not intended to be exhaustive or to limit the invention to theprecise form disclosed. Many modifications and variations are possiblein light of the above teaching. It is intended that the scope of theinvention be limited not by this detailed description, but rather by theclaims appended hereto. The above specification, examples and dataprovide a complete description of the manufacture and use of thecomposition of the invention. Since many embodiments of the inventioncan be made without departing from the spirit and scope of theinvention, the invention resides in the claims hereinafter appended.

What is claimed is:
 1. A device for generating a display of anelectronic program guide on a screen, the device comprising: a receiverincluding a tuner for receiving an input stream, of television contentand electronic program guide data, and separating the electronic programguide data from the input stream; a memory coupled to the tuner forstoring the electronic program guide data separated from the inputstream; display means for generating a display which combines a set ofelectronic program guide data including a plurality of program titles,and a plurality of organizational categories, each program tidebelonging to at least one of the organizational categories, the programtides arranged in the display so that program titles which belong to thesame organizational categories are spatially adjacent and program titleswhich are not members of the same organizational categories arespatially separated, the organizational categories providing afirst-level organization which defines overall content of the displayand a second-level organization which defines the spatial separation ofthe program titles, where the organizational categories are time,channel topic and actor based, and are used at any organizational level.2. The device of claim 1, wherein the organizational categories provideadditional levels of organization to the display.
 3. The device of claim1, wherein program titles are displayed in different colors to representassociated organizational categories.
 4. The device of claim 1, whereinthe organizational categories are represented by icons.
 5. The device ofclaim 1, wherein the display further includes a first user-link, whereselecting the link provides instructions to the display means.
 6. Thedevice of claim 5, wherein the instructions provided to the displaymeans instruct the display means to display a television program.
 7. Thedevice of claim 5, wherein the instructions provided to the displaymeans instruct the display means to display additional textual orgraphical electronic program guide data.
 8. The device of claim 5,wherein the instructions provided to the display means instruct thedisplay means to display a receiver operating menu.
 9. The device ofclaim 8, wherein the receiver operating menu includes a second user-linkwhich instructs the display means to display the electronic programguide based on the organizational categories.
 10. The device of claim 8,further comprising a memory device couple to the receiver for recordingselected television content, where the memory device is activatedthrough the selection of a second user-link included in the operatingmenu.
 11. The device of claim 8, further comprising a second user-linkincluded in, the operating menu, wherein a reminder for an upcomingtelevision program is set when the second user-link is selected.
 12. Thedevice of claim 1, wherein the program titles are arrangedthree-dimensionally so that some program titles appear to be displayedmore distal from the front of the display behind other program titlesdisplayed more proximal to the front of the display.
 13. The device ofclaim 1, wherein a remote control is used to direct the receiver toperform an operational function, including signaling a recording deviceto record a specified television program, signaling the tuner togenerate a display of a specified television program, and setting areminder in memory to display the specified television program uponreceiving the specified television program in the input stream, theoperational function is performed by pressing a button on the remotecontrol.
 14. A method of displaying an electronic program guide on ascreen, the method comprising: receiving an input stream of televisioncontent and electronic program guide data; separating the electronicprogram guide data from the input stream; storing the electronic programguide data separated from the input stream; generating a display fromthe electronic program guide data, wherein the display includes aplurality of program titles, and a plurality of organizationalcategories, each program title belonging to at least one of theorganizational categories; arranging the program titles in the displayso that program titles which belong to the same organizationalcategories are spatially adjacent and program titles which are notmembers of the same organizational categories are spatially separated;creating a first-level organization through the organizationalcategories; defining overall content of the program guide through thefirst-level organization; creating a second-level organization throughthe organizational categories; defining the spatial separation of theprogram titles through the second-level organization; utilizingorganizational categories which are time, channel, topic, and actorbased; and utilizing organizational categories at any organizationallevel.
 15. The method of claim 14, further comprising the steps of:providing additional levels of organization, spatially separating theprogram titles; and utilizing organizational categories for theadditional levels of organization.
 16. The method of claim 14, whereinthe program titles utilize different colors to represent theorganizational categories.
 17. The method of claim 14, wherein theorganizational categories are represented by icons.
 18. The method ofclaim 14, further comprising: receiving a user tuning request selectinga user-link; and responding to the tuning request by displaying thetelevision content associated with the selected user-link.
 19. Themethod of claim 14, further comprising the steps of: receiving a userrequest selecting a user-link; and responding to the request bydisplaying textual or graphical electronic, program guide dataassociated with the selected user-link.
 20. The method of claim 14,further comprising the steps of: displaying an operating menu; anddisplaying at least one user-link in the operating menu.
 21. The methodof claim 20, further comprising the step of activating a recordingdevice.
 22. The method of claim 20, further comprising the step ofsetting a reminder for an upcoming television program.
 23. The method ofclaim 14, wherein the program titles are arranged three-dimensionally sothat some program titles appear to be displayed more distally from afront of the display, behind other program titles that appear to bedisplayed more proximally to the front of the display.
 24. The method ofclaim 14, further comprising the steps of: requesting the performance ofan operational function from a remote control; and performing theoperational function by one of the following: signaling a recordingdevice to record a specified television program; generating a display ofthe specified television program; and setting a reminder to display thespecified television program upon transmission of the specifiedtelevision program.
 25. An electronic program guide comprising: a set ofelectronic program guide data including a plurality of program titlesand a plurality of organizational categories, where each program titlebelongs to at least one organizational category; a first spatialarrangement of program titles in a three-dimensional format where oneorganization level of the electronic program guide spatially groupsprogram titles which belong to the same organizational category inthree-dimensional space; and spatially separates program titles which donot belong to the same organizational category in three-dimensionalspace; a second spatial arrangement of program titles in two-dimensionalspace, where a second organizational level of the electronic programguide spatially groups program titles which belong to the sameorganizational category in the same two dimensional plane, and spatiallyseparates program titles which do not belong to the same organizationalcategory in a different two-dimensional plane.